home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / CC_C / H001C.ZIP / DJGPP3.ZIP / EMU387 / E67.CC < prev    next >
C/C++ Source or Header  |  1991-04-28  |  436b  |  29 lines

  1. #include "emu.h"
  2. #include "rmov.h"
  3.  
  4. void emu_67()
  5. {
  6.   if (empty())
  7.     return;
  8.   if (modrm > 0277)
  9.   {
  10.     // fdivp st(i),st
  11.     reg t;
  12.     int i = modrm & 7;
  13.     if (empty(i))
  14.       return;
  15.     r_div(st(), st(i), t);
  16.     r_mov(t, st(i));
  17.     st().tag = TW_E;
  18.     top++;
  19.   }
  20.   else
  21.   {
  22.     // fidiv m16int
  23.     reg t, t2;
  24.     r_mov((short *)get_modrm(), t);
  25.     r_div(t, st(), t2);
  26.     r_mov(t2, st());
  27.   }
  28. }
  29.